Computer-numerically-controlled (CNC) machines for machining large parts with precision are well known. These machines typically include a platform to support a workpiece, a tool to machine the workpiece, and a computer for controlling the tool all mounted together such as in a frame or other structure The computer is programmed to generate position commands for tool control from a user-defined program to direct the incremental movement of the tool to machine a part from the workpiece.
To maneuver the tool for machining the part from the workpiece, the tool is mounted to movable members. Each member is oriented to move along an axis that is distinct from the axes of the other members. The computer includes several processors, one of which controls the tool maneuvers by generating discrete or digital position commands for each member from the user-defined program. A servo processor having a servo stage for each respective axis receives the discrete position commands. Each servo stage uses the position commands for its respective axis to generate velocity commands which are transmitted to a servomechanism, commonly called a servo, connected to each member by a mechanical joint such as a slide, a pivot or the like. The servomechanism drives the mechanical joint, and correspondingly, the member along its axis in accordance with the velocity command received from the servo processor to control the movement of the tool for machining the part. A CNC machine like the one described above is disclosed in U.S. Pat. No. 5,005,135 which is assigned to the assignee of the present patent application and the entire disclosure of which is hereby expressly incorporated by reference.
Because the workpiece from which the part is produced is frequently massive, the members are also heavy to provide rigidity for the tool as it cuts or bores the workpiece. These heavy members require the input of a substantial force, usually supplied by a motor within the servo, to initiate and halt their movement. Sometimes this force moves one of the members at a rate or frequency that induces movement in another member through the structural dynamics of the machine. This induced movement is called a cross-coupled response of the member through the structural dynamics of the machine. This cross-coupled response is superimposed on the driving of the member by its respective servo, and consequently, the tool. The superimposed movement may cause the tool to blemish the finish of the part which then requires hand finishing that adds substantial cost to the part.
One possible approach to this problem involves the use of a driving signal that corresponds to the drive from a servo connected to a first member to generate a correction signal for a servo that drives the member in which the cross-coupled response is induced. The correction signal may be used to counteract the cross-coupled response of the second member so the net movement change in the second member would be zero.
One problem with such an approach is that it requires a correction circuit that generates the correction signal from the driving signal derived from the servo driving the first member. Such a circuit may not only be very costly to design and implement, it may not even be feasible. Thus, it may be more desirable simply to put up with refinishing the blemished parts by hand.
Even if such a device could be implemented at a reasonable cost, coupling the correction signal generated by it to the servo driving the second member might require modification of the servo. For machines already operating in the field, such modifications may result in long down times caused by installation and testing of the correction circuit.
Another approach involves using a signal indicative of the position of the second member to generate an error signal that corresponds to a displacement distance. The displacement distance represents the error in position corresponding to the difference between the predicted position and the actual position of the member. This error signal might be used by the servo processor to generate modified discrete position commands that substantially cancel out the cross-coupled response transferred through the structural dynamics of the machine. To do this, however, the computer would have to be able to predict the response of the second member to its respective position command independent of cross-coupling errors so that the superimposed cross-coupling may be assessed and corrected. Without this predictive response capability, the computer would be unable to determine the error in the second member position. For machines already in operation, there might not be sufficient computing resources, such as processor time or memory, available to implement the predictive response capability.
Another problem in both of the aforementioned possible approaches is their potential adverse effect on the ability to coordinate tool movement between members for tool paths that require coordination between two members oriented in different axes. For example, to cut a hole, it may be necessary to move the cutting tool in small increments along two axes perpendicular to one another. In that way, the tool may be caused to move smoothly along a curved line to form a circle. If one of the approaches previously discussed were implemented then the processing of the correction signal or error signal may delay position movement in the first member. Such delay could disrupt the coordination between the first and second members causing errors in the path of the intended tool movement. Compensating for the delay in the correction circuit or the predictive response capability of the computer might require more modification to the servo or more computer resources than are available.